package flex.cc.nursing.dto.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import com.fasterxml.jackson.annotation.JsonFormat;
import flex.cc.common.vo.CommonEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;

/**
 * 
 * @author R
 * 2022年03月22日  14:04:52
 * @desc 护理单主表
 */
@Data
@TableName("t_nursing_order")
public class NursingOrderEntity extends CommonEntity{
	
	private static final long serialVersionUID = 1L;
	/**
	 * 护理类服务预约单号
	 */
	private String orderNo;
	/**
	 * 卡券编码
	 */
	private String orderId;

	@TableField(exist = false)
	private String serviceStatusName; // 服务进度名称，配置在字典表中，用于服务记录列表页展示服务进度

	/**
	 * 联系人姓名
	 */
	private String contactsName;
	
	/**
	 * 联系电话
	 */
	private String contactsTel;
	
	/**
	 * 联系人证件类型 1-身份证 2-户口本 3-护照
	 */
	private String contactIdType;
	
	/**
	 * 联系人证件号
	 */
	private String contactIdNo;
	
	/**
	 * 服务对象与联系人关系  1-本人  2-亲属  3-其他
	 */
	private String relation;
	
	/**
	 * 服务对象姓名
	 */
	private String consumerName;
	
	/**
	 * 服务对象手机号码
	 */
	private String consumerTel;
	
	/**
	 * 服务对象证件类型
	 */
	private String consumerIdType;
	
	/**
	 * 服务对象证件号
	 */
	private String consumerIdNo;
	
	/**
	 * 服务分类,默认3-院后上门居家康护服务
	 */
	private String serviceCode;
	
	/**
	 * 服务开始时间
	 */
	@Column(name = "update_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date startDate;
	
	/**
	 * 服务结束时间
	 */
	@Column(name = "update_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date endDate;
	
	/**
	 * 服务对象所在省份编码
	 */
	private String provinceCode;
	
	/**
	 * 服务对象所在省份
	 */
	private String province;
	
	/**
	 * 服务对象所在市编码
	 */
	private String cityCode;
	
	/**
	 * 服务对象所在市
	 */
	private String city;
	
	/**
	 * 服务对象所在区编码
	 */
	private String countyCode;
	
	/**
	 * 服务对象所在区
	 */
	private String county;
	
	/**
	 * 服务对象所在详细地址
	 */
	private String address;
	
	/**
	 * 预约单当前服务进度  1-待评估派单  2-待评估  3-已评估  4-待配置  5-待确认  6-已确认  7-待服务派单  8-待服务  
	 * 9-服务中  10-已取消  11-已完成  12-原服务子工单终止，新服务子工单待服务派单  13-已完成
	 */
	private String status;
	
	/**
	 * 预约时间
	 */
	private Date appointTime;

}
